[Table of Contents] [docx version]
Error! No text of specified style in document.
This level of formatting allows for more granular control of text within a shape. Properties here apply to all text residing within the corresponding paragraph. This intermediate property level allows freedom to assign what would seem like lower level properties to a larger group of text. Along with this the paragraph property level also allows what would seem like larger group properties to a more granular set of text. This makes for a property level that is quite versatile in its ability to define formatting on text within a shape.
[Example: For instance consider the case where a paragraph of text would need to have bullets applied to it. At first one might think that this formatting must be done at the text run level as it may seem run specific. Much to the contrary this is a paragraph level property and is applied to multiple runs of text. As an example we have once again our three paragraphs with the second having bullets applied to it.
<a:p>
…
</a:p>
<a:p>
<a:pPr>
<a:buFont typeface="Wingdings"/>
<a:buChar typeface="ü"/>
<a:pPr>
<a:r>
<a:rPr lang="en-US" dirty="0" smtClean="0"/>
<a:t>This Paragraph of Text Will Have a Bullet.</a:t>
</a:r>
</a:p>
<a:p>
…
</a:p>
Here we see that the paragraph will be formatted to have character bullets for each new line of text that is encountered. In particular this paragraph will have the "ü" character applied which in the "Wingdings" font is the checkmark character. The other paragraphs will not be effected by this paragraph's bullet formatting and should have their text remain unformatted.
end example]
This element specifies the existence of a vertical line break between two runs of text within a paragraph. In addition to specifying a vertical space between two runs of text, this element may also have run properties specified via the rPr child element. This sets the formatting of text for the line break so that if text is later inserted there that a new run can be generated with the correct formatting.
[Example: Consider the DrawingML shown below.
<p:txBody>
…
<a:p>
<a:r>
…
<a:t>Text Run 1.</a:t>
…
</a:r>
<a:br/>
<a:r>
…
<a:t>Text Run 2.</a:t>
…
</a:r>
</a:p>
</p:txBody>
This paragraph will have two runs of text laid out in a vertical fashion with a line break in between them. This line break acts much like a carriage return would within a normal run of text. end example]
Parent Elements |
p (§5.1.5.2.6) |
Child Elements |
Subclause |
rPr (Text Run Properties) |
§5.1.5.3.9 |
The following XML Schema fragment defines the contents of this element:
<complexType name="CT_TextLineBreak">
<sequence>
<element name="rPr" type="CT_TextCharacterProperties" minOccurs="0" maxOccurs="1"/>
</sequence>
</complexType>
defPPr (Default Paragraph Style)
This element specifies the paragraph properties that are to be applied when no other paragraph properties have been specified. If this attribute is omitted, then it is left to the application to decide the set of default paragraph properties that should be applied.
[Example: Consider the DrawingML shown below.
<p:txBody>
…
<a:lstStyle>
<a:defPPr>
<a:buNone/>
</a:defPPr>
</a:lstStyle>
<a:p>
…
<a:t>Sample Text</a:t>
…
</a:p>
</p:txBody>
The above paragraph will follow the properties described in defPPr if no overriding properties are specified within the pPr element. end example]
Parent Elements |
bodyStyle (§4.4.1.5); defaultTextStyle (§4.3.1.7); lstStyle (§5.1.5.4.12); notesStyle (§4.4.1.25); otherStyle (§4.4.1.32); titleStyle (§4.4.1.45) |
Child Elements |
Subclause |
buAutoNum (Auto-Numbered Bullet) |
§5.1.5.4.1 |
buBlip (Picture Bullet) |
§5.1.5.4.2 |
buChar (Character Bullet) |
§5.1.5.4.3 |
buClr (Color Specified) |
§5.1.5.4.4 |
buClrTx (Follow Text) |
§5.1.5.4.5 |
buFont (Specified) |
§5.1.5.4.6 |
buFontTx (Follow text) |
§5.1.5.4.7 |
buNone (No Bullet) |
§5.1.5.4.8 |
buSzPct (Bullet Size Percentage) |
§5.1.5.4.9 |
buSzPts (Bullet Size Points) |
§5.1.5.4.10 |
buSzTx (Bullet Size Follows Text) |
§5.1.5.4.11 |
defRPr (Default Text Run Properties) |
§5.1.5.3.2 |
extLst (Extension List) |
§5.1.2.1.15 |
lnSpc (Line Spacing) |
§5.1.5.2.5 |
spcAft (Space After) |
§5.1.5.2.8 |
spcBef (Space Before) |
§5.1.5.2.9 |
tabLst (Tab List) |
§5.1.5.2.13 |
Attributes |
Description |
algn (Alignment) |
Specifies the alignment that is to be applied to the paragraph. Possible values for this include left, right, centered, justified and distributed. If this attribute is omitted, then a value of left is implied.
[Example: Consider the case where the user wishes to have two columns of text that have a justified alignment, much like text within a book. The following DrawingML could describe this.
<p:txBody> <a:p> …
end example]
The possible values for this attribute are defined by the ST_TextAlignType simple type (§5.1.12.59). |
defTabSz (Default Tab Size) |
Specifies the default size for a tab character within this paragraph. This attribute should be used to describe the spacing of tabs within the paragraph instead of a leading indentation tab. For indentation tabs there are the marL and indent attributes to assist with this.
[Example: Consider the case where a paragraph contains numerous tabs that need to be of a specific size. The following DrawingML would describe this.
<p:txBody>
end example]
The possible values for this attribute are defined by the ST_Coordinate32 simple type (§5.1.12.17). |
eaLnBrk (East Asian Line Break) |
Specifies whether an East Asian word can be broken in half and wrapped onto the next line without a hyphen being added. To determine whether an East Asian word can be broken the presentation application would use the kinsoku settings here. This attribute is to be used specifically when there is a word that cannot be broken into multiple pieces without a hyphen. That is it will not be present within the existence of normal breakable East Asian words but will when a special case word arises that should not be broken for a line break. If this attribute is omitted, then a value of 1, or true is implied.
[Example: Consider the case where the presentation contains a long word that must not be divided with a line break. Instead it should be placed, in whole on a new line so that it may fit. The picture below shows a normal paragraph where a long word has been broken for a line break. The second picture shown below shows that same paragraph with the long word specified to not allow a line break. The resulting DrawingML is as follows.
<p:txBody>
end example]
The possible values for this attribute are defined by the XML Schema boolean datatype. |
fontAlgn (Font Alignment) |
Determines where vertically on a line of text the actual words are positioned. This deals with vertical placement of the characters with respect to the baselines. For instance having text anchored to the top baseline, anchored to the bottom baseline, centered in between, etc. To understand this attribute and it's use it is helpful to understand what baselines are. A diagram describing these different cases is shown below. If this attribute is omitted, then a value of base is implied.
[Example: Consider the case where the user wishes to represent the chemical compound of a water molecule. For this they will need to make sure the H, the 2, and the O are all in the correct position and are of the correct size. The results below can be achieved through the DrawingML shown below.
<a:txtBody> <a:r> <a:r> <a:r>
end example]
The possible values for this attribute are defined by the ST_TextFontAlignType simple type (§5.1.12.66). |
hangingPunct (Hanging Punctuation) |
Specifies whether punctuation is to be forcefully laid out on a line of text or put on a different line of text. That is, if there is punctuation at the end of a run of text that should be carried over to a separate line does it actually get carried over. A true value will allow for hanging punctuation forcing the punctuation to not be carried over and a value of false will allow the punctuation to be carried onto the next text line. If this attribute is omitted, then a value of 0, or false is implied.
The possible values for this attribute are defined by the XML Schema boolean datatype. |
indent (Indent) |
Specifies the indent size that will be applied to the first line of text in the paragraph. An indentation of 0 will be considered to be at the same location as marL attribute. If this attribute is omitted, then a value of -342900 is implied.
[Example: Consider the scenario where the user now wanted to add a paragraph indentation to the first line of text in their two column format book.
<p:txBody> <a:p> <a:pPr marL="0" indent="571500" algn="just">
By adding the indent attribute the user has effectively added a first line indent to this paragraph of text. end example]
The possible values for this attribute are defined by the ST_TextIndent simple type (§5.1.12.70). |
latinLnBrk (Latin Line Break) |
Specifies whether a Latin word can be broken in half and wrapped onto the next line without a hyphen being added. This attribute is to be used specifically when there is a word that cannot be broken into multiple pieces without a hyphen. That is it will not be present within the existence of normal breakable Latin words but will when a special case word arises that should not be broken for a line break. If this attribute is omitted, then a value of 1, or true is implied.
[Example: Consider the case where the presentation contains a long word that must not be divided with a line break. Instead it should be placed, in whole on a new line so that it may fit. The picture below shows a normal paragraph where a long word has been broken for a line break. The second picture shown below shows that same paragraph with the long word specified to not allow a line break. The resulting DrawingML is as follows.
<p:txBody>
end example]
The possible values for this attribute are defined by the XML Schema boolean datatype. |
lvl (Level) |
Specifies the particular level text properties that this paragraph will follow. The value for this attribute is numerical and formats the text according to the corresponding level paragraph properties that are listed within the lstStyle element. Since there are nine separate level properties defined, this tag will have an effective range of 0-8 = 9 available values.
[Example: Consider the following DrawingML. This would specify that this paragraph should follow the lvl2pPr formatting style because once again lvl="1" is considered to be level 2.
<p:txBody>
end example]
[Note: To resolve conflicting paragraph properties the linear hierarchy of paragraph properties should be examined starting first with the pPr element. The rule here is that properties that are defined at a level closer to the actual text should take precedence. That is if there is a conflicting property between the pPr and lvl1pPr elements then the pPr property should take precedence because in the property hierarchy it is closer to the actual text being represented. end note]
The possible values for this attribute are defined by the ST_TextIndentLevelType simple type (§5.1.12.71). |
marL (Left Margin) |
Specifies the left margin of the paragraph. This is specified in addition to the text body inset and applies only to this text paragraph. That is the text body inset and the marL attributes are additive with respect to the text position. If this attribute is omitted, then a value of 347663 is implied.
The possible values for this attribute are defined by the ST_TextMargin simple type (§5.1.12.73). |
marR (Right Margin) |
Specifies the right margin of the paragraph. This is specified in addition to the text body inset and applies only to this text paragraph. That is the text body inset and the marR attributes are additive with respect to the text position. If this attribute is omitted, then a value of 0 is implied.
The possible values for this attribute are defined by the ST_TextMargin simple type (§5.1.12.73). |
rtl (Right To Left) |
Specifies whether the text is right-to-left or left-to-right in its flow direction. If this attribute is omitted, then a value of 0, or left-to-right is implied.
[Example: Consider the scenario where the user wanted text to flow from right to left. That is within the bounding text box the first word would be right aligned with each additional word being written to the left of the previous while continuing to flow top to bottom. The DrawingML to describe this might be as follows.
<p:txBody>
end example]
The possible values for this attribute are defined by the XML Schema boolean datatype. |
The following XML Schema fragment defines the contents of this element:
<complexType name="CT_TextParagraphProperties">
<sequence>
<element name="lnSpc" type="CT_TextSpacing" minOccurs="0" maxOccurs="1"/>
<element name="spcBef" type="CT_TextSpacing" minOccurs="0" maxOccurs="1"/>
<element name="spcAft" type="CT_TextSpacing" minOccurs="0" maxOccurs="1"/>
<group ref="EG_TextBulletColor" minOccurs="0" maxOccurs="1"/>
<group ref="EG_TextBulletSize" minOccurs="0" maxOccurs="1"/>
<group ref="EG_TextBulletTypeface" minOccurs="0" maxOccurs="1"/>
<group ref="EG_TextBullet" minOccurs="0" maxOccurs="1"/>
<element name="tabLst" type="CT_TextTabStopList" minOccurs="0" maxOccurs="1"/>
<element name="defRPr" type="CT_TextCharacterProperties" minOccurs="0" maxOccurs="1"/>
<element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</sequence>
<attribute name="marL" type="ST_TextMargin" use="optional"/>
<attribute name="marR" type="ST_TextMargin" use="optional"/>
<attribute name="lvl" type="ST_TextIndentLevelType" use="optional"/>
<attribute name="indent" type="ST_TextIndent" use="optional"/>
<attribute name="algn" type="ST_TextAlignType" use="optional"/>
<attribute name="defTabSz" type="ST_Coordinate32" use="optional"/>
<attribute name="rtl" type="xsd:boolean" use="optional"/>
<attribute name="eaLnBrk" type="xsd:boolean" use="optional"/>
<attribute name="fontAlgn" type="ST_TextFontAlignType" use="optional"/>
<attribute name="latinLnBrk" type="xsd:boolean" use="optional"/>
<attribute name="hangingPunct" type="xsd:boolean" use="optional"/>
</complexType>
endParaRPr (End Paragraph Run Properties)
This element specifies the text run properties that are to be used if another run is inserted after the last run specified. This effectively saves the run property state so that it may be applied when the user enters additional text. If this element is omitted, then the application may determine which default properties to apply. It is recommended that this element be specified at the end of the list of text runs within the paragraph so that an orderly list is maintained.
Parent Elements |
p (§5.1.5.2.6) |
Child Elements |
Subclause |
blipFill (Picture Fill) |
§5.1.10.14 |
cs (Complex Script Font) |
§5.1.5.3.1 |
ea (East Asian Font) |
§5.1.5.3.3 |
effectDag (Effect Container) |
§5.1.10.25 |
effectLst (Effect Container) |
§5.1.10.26 |
extLst (Extension List) |
§5.1.2.1.15 |
gradFill (Gradient Fill) |
§5.1.10.33 |
grpFill (Group Fill) |
§5.1.10.35 |
highlight (Highlight Color) |
§5.1.5.3.4 |
hlinkClick (Click Hyperlink) |
§5.1.5.3.5 |
hlinkMouseOver (Mouse-Over Hyperlink) |
§5.1.5.3.6 |
latin (Latin Font) |
§5.1.5.3.7 |
ln (Outline) |
§5.1.2.1.24 |
noFill (No Fill) |
§5.1.10.44 |
pattFill (Pattern Fill) |
§5.1.10.47 |
solidFill (Solid Fill) |
§5.1.10.54 |
sym (Symbol Font) |
§5.1.5.3.10 |
uFill (Underline Fill) |
§5.1.5.3.12 |
uFillTx (Underline Fill Properties Follow Text) |
§5.1.5.3.13 |
uLn (Underline Stroke) |
§5.1.5.3.14 |
uLnTx (Underline Follows Text) |
§5.1.5.3.15 |
Attributes |
Description |
altLang (Alternative Language) |
Specifies the alternate language to use when the generating application is displaying the user interface controls. If this attribute is omitted, than the lang attribute will be used here.
The possible values for this attribute are defined by the ST_TextLanguageID simple type (§5.1.12.72). |
b (Bold) |
Specifies whether a run of text will be formatted as bold text. If this attribute is omitted, than a value of 0, or false is assumed. [Example: Consider the DrawingML shown below. <a:p> The above run of text will be formatted as bold text. end example]
The possible values for this attribute are defined by the XML Schema boolean datatype. |
baseline (Baseline) |
Specifies the baseline for both the superscript and subscript fonts. The size is specified using a percentage where 1000 is equal to 1 percent of the font size and 100000 is equal to 100 percent font of the font size.
The possible values for this attribute are defined by the ST_Percentage simple type (§5.1.12.41). |
bmk (Bookmark Link Target) |
Specifies the link target name that is used to reference to the proper link properties in a custom XML part within the document.
The possible values for this attribute are defined by the XML Schema string datatype. |
cap (Capitalization) |
Specifies the capitalization that is to be applied to the text run. This is a render-only modification and does not affect the actual characters stored in the text run. This attribute is also distinct from the toggle function where the actual characters stored in the text run are changed.
The possible values for this attribute are defined by the ST_TextCapsType simple type (§5.1.12.64). |
dirty (Dirty) |
Specifies that the content of a text run has changed since the proofing tools have last been run. Effectively this flags text that must be checked again by the generating application for mistakes such as spelling, grammar, etc.
The possible values for this attribute are defined by the XML Schema boolean datatype. |
err (Spelling Error) |
Specifies that when this run of text was checked for spelling, grammar, etc. that a mistake was indeed found. This allows the generating application to effectively save the state of the mistakes within the document instead of having to perform a full pass check upon opening the document.
The possible values for this attribute are defined by the XML Schema boolean datatype. |
i (Italics) |
Specifies whether a run of text will be formatted as italic text. If this attribute is omitted, than a value of 0, or false is assumed.
[Example: Consider the DrawingML shown below.
<a:p>
The above run of text will be formatted as italic text. end example]
The possible values for this attribute are defined by the XML Schema boolean datatype. |
kern (Kerning) |
Specifies the minimum font size at which character kerning will occur for this text run. Whole points are specified in increments of 100 starting with 100 being a point size of 1. For instance a font point size of 12 would be 1200 and a font point size of 12.5 would be 1250. If this attribute is omitted, than kerning will occur for all font sizes down to a 0 point font.
The possible values for this attribute are defined by the ST_TextNonNegativePoint simple type (§5.1.12.74). |
kumimoji (Kumimoji) |
Specifies whether the numbers contained within vertical text will continue vertically with the text or whether they are to be displayed horizontally while the surrounding characters continue in a vertical fashion. If this attribute is omitted, than a value of 0, or false is assumed.
The possible values for this attribute are defined by the XML Schema boolean datatype. |
lang (Language ID) |
Specifies the language to be used when the generating application is displaying the user interface controls. If this attribute is omitted, than the generating application may select a language of its choice.
The possible values for this attribute are defined by the ST_TextLanguageID simple type (§5.1.12.72). |
noProof (No Proofing) |
Specifies that a run of text has been selected by the user to not be checked for mistakes. Therefore if there are spelling, grammar, etc mistakes within this text the generating application should ignore them.
The possible values for this attribute are defined by the XML Schema boolean datatype. |
normalizeH (Normalize Heights) |
Specifies the normalization of height that is to be applied to the text run. This is a render-only modification and does not affect the actual characters stored in the text run. This attribute is also distinct from the toggle function where the actual characters stored in the text run are changed. If this attribute is omitted, than a value of 0, or false will be assumed.
The possible values for this attribute are defined by the XML Schema boolean datatype. |
smtClean (SmartTag Clean) |
Specifies whether or not a text run has been checked for smart tags. This attribute acts much like the dirty attribute dose for the checking of spelling, grammar, etc. A value of true here indicates to the generating application that this text run should be checked for smart tags. If this attribute is omitted, than a value of 0, or false is assumed.
The possible values for this attribute are defined by the XML Schema boolean datatype. |
smtId (SmartTag ID) |
Specifies the reference id for the smart tag. This id corresponds to a link within this slides relationship file. The following of this link within the relationship file will result in the actual smart tag information for this piece of text.
The possible values for this attribute are defined by the XML Schema unsignedInt datatype. |
spc (Spacing) |
Specifies the spacing between characters within a text run. This spacing is specified numerically and should be consistently applied across the entire run of text by the generating application. Whole points are specified in increments of 100 starting with 100 being a point size of 1. For instance a font point size of 12 would be 1200 and a font point size of 12.5 would be 1250. If this attribute is omitted than a value of 0 or no adjustment is assumed.
The possible values for this attribute are defined by the ST_TextPoint simple type (§5.1.12.75). |
strike (Strikethrough) |
Specifies whether a run of text will be formatted as strikethrough text. If this attribute is omitted, than no strikethrough is assumed.
[Example: Consider the DrawingML shown below.
<a:p>
The above run of text will be formatted as single strikethrough text. end example]
The possible values for this attribute are defined by the ST_TextStrikeType simple type (§5.1.12.79). |
sz (Font Size) |
Specifies the size of text within a text run. Whole points are specified in increments of 100 starting with 100 being a point size of 1. For instance a font point size of 12 would be 1200 and a font point size of 12.5 would be 1250. If this attribute is omitted, than the value in defRPr should be used.
[Example: Consider the DrawingML shown below.
<a:p>
The above run of text will be formatted with a 12 point text size. end example]
The possible values for this attribute are defined by the ST_TextFontSize simple type (§5.1.12.68). |
u (Underline) |
Specifies whether a run of text will be formatted as underlined text. If this attribute is omitted, than no underline is assumed.
[Example: Consider the DrawingML shown below.
<a:p>
The above run of text will be formatted as single underline text. end example]
The possible values for this attribute are defined by the ST_TextUnderlineType simple type (§5.1.12.82). |
The following XML Schema fragment defines the contents of this element:
<complexType name="CT_TextCharacterProperties">
<sequence>
<element name="ln" type="CT_LineProperties" minOccurs="0" maxOccurs="1"/>
<group ref="EG_FillProperties" minOccurs="0" maxOccurs="1"/>
<group ref="EG_EffectProperties" minOccurs="0" maxOccurs="1"/>
<element name="highlight" type="CT_Color" minOccurs="0" maxOccurs="1"/>
<group ref="EG_TextUnderlineLine" minOccurs="0" maxOccurs="1"/>
<group ref="EG_TextUnderlineFill" minOccurs="0" maxOccurs="1"/>
<element name="latin" type="CT_TextFont" minOccurs="0" maxOccurs="1"/>
<element name="ea" type="CT_TextFont" minOccurs="0" maxOccurs="1"/>
<element name="cs" type="CT_TextFont" minOccurs="0" maxOccurs="1"/>
<element name="sym" type="CT_TextFont" minOccurs="0" maxOccurs="1"/>
<element name="hlinkClick" type="CT_Hyperlink" minOccurs="0" maxOccurs="1"/>
<element name="hlinkMouseOver" type="CT_Hyperlink" minOccurs="0" maxOccurs="1"/>
<element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</sequence>
<attribute name="kumimoji" type="xsd:boolean" use="optional"/>
<attribute name="lang" type="ST_TextLanguageID" use="optional"/>
<attribute name="altLang" type="ST_TextLanguageID" use="optional"/>
<attribute name="sz" type="ST_TextFontSize" use="optional"/>
<attribute name="b" type="xsd:boolean" use="optional"/>
<attribute name="i" type="xsd:boolean" use="optional"/>
<attribute name="u" type="ST_TextUnderlineType" use="optional"/>
<attribute name="strike" type="ST_TextStrikeType" use="optional"/>
<attribute name="kern" type="ST_TextNonNegativePoint" use="optional"/>
<attribute name="cap" type="ST_TextCapsType" use="optional"/>
<attribute name="spc" type="ST_TextPoint" use="optional"/>
<attribute name="normalizeH" type="xsd:boolean" use="optional"/>
<attribute name="baseline" type="ST_Percentage" use="optional"/>
<attribute name="noProof" type="xsd:boolean" use="optional"/>
<attribute name="dirty" type="xsd:boolean" use="optional" default="true"/>
<attribute name="err" type="xsd:boolean" use="optional" default="false"/>
<attribute name="smtClean" type="xsd:boolean" use="optional" default="true"/>
<attribute name="smtId" type="xsd:unsignedInt" use="optional" default="0"/>
<attribute name="bmk" type="xsd:string" use="optional"/>
</complexType>
This element specifies a text field which contains generated text that the application should update periodically. Each piece of text when it is generated is given a unique identification number that is used to refer to a specific field. At the time of creation the text field is also specified to be of a certain type which indicates the type of text that should be used to update this field. This update type is used so that all applications that did not create this text field may still know what type of text it should be updated with. Thus the new application can then attach an update type to the text field id for continual updating.
[Example: Consider a slide within a presentation that needs to have the slide number placed on the slide. The following DrawingML may be used to describe such a situation.
<p:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:fld id="{424CEEAC-8F67-4238-9622-1B74DC6E8318}" type="slidenum">
<a:rPr lang="en-US" smtClean="0"/>
<a:pPr/>
<a:t>3</a:t>
</a:fld>
<a:endParaRPr lang="en-US"/>
</a:p>
</p:txBody>
end example]
Parent Elements |
p (§5.1.5.2.6) |
Child Elements |
Subclause |
pPr (Text Paragraph Properties) |
§5.1.5.2.7 |
rPr (Text Run Properties) |
§5.1.5.3.9 |
t (Text String) |
§5.1.5.3.11 |
Attributes |
Description |
id (Field ID) |
Specifies the unique to this document, host specified token that is used to identify the field. This token is generated when the text field is created and persists in the file as the same token until the text field is removed. Any application should check the document for conflicting tokens before assigning a new token to a text field.
The possible values for this attribute are defined by the ST_Guid simple type (§5.1.12.27). |
type (Field Type) |
Specifies the type of update text that should be used within this text field. This is needed in addition to the text field id because a new application that did not create this document must be able to know what update should be assigned to a specific text field id.
The possible values for this attribute are defined by the XML Schema string datatype. |
The following XML Schema fragment defines the contents of this element:
<complexType name="CT_TextField">
<sequence>
<element name="rPr" type="CT_TextCharacterProperties" minOccurs="0" maxOccurs="1"/>
<element name="pPr" type="CT_TextParagraphProperties" minOccurs="0" maxOccurs="1"/>
<element name="t" type="xsd:string" minOccurs="0" maxOccurs="1"/>
</sequence>
<attribute name="id" type="ST_Guid" use="required"/>
<attribute name="type" type="xsd:string" use="optional"/>
</complexType>
This element specifies the vertical line spacing that is to be used within a paragraph. This may be specified in two different ways, percentage spacing and font point spacing. If this element is omitted then the spacing between two lines of text should be determined by the point size of the largest piece of text within a line.
[Example: Consider the DrawingML shown below.
<p:txBody>
<a:p>
<a:pPr>
<a:lnSpc>
<a:spcPct val="200000"/>
</a:lnSpc>
</a:pPr>
<a:r>
<a:rPr lang="en-US" dirty="0" smtClean="0"/>
<a:t>Some</a:t>
</a:r>
<a:br>
<a:rPr lang="en-US" smtClean="0"/>
</a:br>
<a:r>
<a:rPr lang="en-US" dirty="0" smtClean="0"/>
<a:t>Text</a:t>
</a:r>
</a:p>
</p:txBody>
This paragraph will have two lines of text that will have percentage based vertical spacing. This kind of spacing should change based on the size of the text involved as its size is calculated as a percentage of this. end example]
Parent Elements |
defPPr (§5.1.5.2.2); lvl1pPr (§5.1.5.4.13); lvl2pPr (§5.1.5.4.14); lvl3pPr (§5.1.5.4.15); lvl4pPr (§5.1.5.4.16); lvl5pPr (§5.1.5.4.17); lvl6pPr (§5.1.5.4.18); lvl7pPr (§5.1.5.4.19); lvl8pPr (§5.1.5.4.20); lvl9pPr (§5.1.5.4.21); pPr (§5.1.5.2.7) |
Child Elements |
Subclause |
spcPct (Spacing Percent) |
§5.1.5.2.10 |
spcPts (Spacing Points) |
§5.1.5.2.11 |
The following XML Schema fragment defines the contents of this element:
<complexType name="CT_TextSpacing">
<choice>
<element name="spcPct" type="CT_TextSpacingPercent"/>
<element name="spcPts" type="CT_TextSpacingPoint"/>
</choice>
</complexType>
This element specifies the presence of a paragraph of text within the containing text body. The paragraph is the highest level text separation mechanism within a text body. A paragraph may contain text paragraph properties associated with the paragraph. If no properties are listed then properties specified in the defPPr element are used.
[Example: Consider the case where the user would like to describe a text body that will contain two paragraphs. The requirement for these paragraphs is that one be right aligned and the other left aligned. The following DrawingML would specify a text body such as this.
<p:txBody>
…
<a:p>
<a:pPr algn="r">
</a:pPr>
…
<a:t>Some text</a:t>
…
</a:p>
<a:p>
<a:pPr algn="l">
</a:pPr>
…
<a:t>Some text</a:t>
…
</a:p>
</p:txBody>
end example]
Parent Elements |
rich (§5.7.2.157); t (§5.9.3.8); txBody (§5.8.2.26); txBody (§5.1.2.1.40); txBody (§5.6.2.33); txBody (§4.4.1.47); txPr (§5.7.2.217) |
Child Elements |
Subclause |
br (Text Line Break) |
§5.1.5.2.1 |
endParaRPr (End Paragraph Run Properties) |
§5.1.5.2.3 |
fld (Text Field) |
§5.1.5.2.4 |
pPr (Text Paragraph Properties) |
§5.1.5.2.7 |
r (Text Run) |
§5.1.5.3.8 |
The following XML Schema fragment defines the contents of this element:
<complexType name="CT_TextParagraph">
<sequence>
<element name="pPr" type="CT_TextParagraphProperties" minOccurs="0" maxOccurs="1"/>
<group ref="EG_TextRun" minOccurs="0" maxOccurs="unbounded"/>
<element name="endParaRPr" type="CT_TextCharacterProperties" minOccurs="0" maxOccurs="1"/>
</sequence>
</complexType>
pPr (Text Paragraph Properties)
This element contains all paragraph level text properties for the containing paragraph. These paragraph properties should override any and all conflicting properties that are associated with the paragraph in question.
[Example: Consider the DrawingML shown below.
<a:p>
<a:pPr marL="0" algn="ctr">
<a:buNone/>
</a:pPr>
…
<a:t>Some Text</a:t>
…
</a:p>
The paragraph described above will be formatting with a left margin of 0 and will have all of text runs contained within it centered about the horizontal median of the bounding box for the text body. end example]
[Note: To resolve conflicting paragraph properties the linear hierarchy of paragraph properties should be examined starting first with the pPr element. The rule here is that properties that are defined at a level closer to the actual text should take precedence. That is if there is a conflicting property between the pPr and lvl1pPr elements then the pPr property should take precedence because in the property hierarchy it is closer to the actual text being represented. end note]
Parent Elements |
fld (§5.1.5.2.4); p (§5.1.5.2.6) |
Child Elements |
Subclause |
buAutoNum (Auto-Numbered Bullet) |
§5.1.5.4.1 |
buBlip (Picture Bullet) |
§5.1.5.4.2 |
buChar (Character Bullet) |
§5.1.5.4.3 |
buClr (Color Specified) |
§5.1.5.4.4 |
buClrTx (Follow Text) |
§5.1.5.4.5 |
buFont (Specified) |
§5.1.5.4.6 |
buFontTx (Follow text) |
§5.1.5.4.7 |
buNone (No Bullet) |
§5.1.5.4.8 |
buSzPct (Bullet Size Percentage) |
§5.1.5.4.9 |
buSzPts (Bullet Size Points) |
§5.1.5.4.10 |
buSzTx (Bullet Size Follows Text) |
§5.1.5.4.11 |
defRPr (Default Text Run Properties) |
§5.1.5.3.2 |
extLst (Extension List) |
§5.1.2.1.15 |
lnSpc (Line Spacing) |
§5.1.5.2.5 |
spcAft (Space After) |
§5.1.5.2.8 |
spcBef (Space Before) |
§5.1.5.2.9 |
tabLst (Tab List) |
§5.1.5.2.13 |
Attributes |
Description |
algn (Alignment) |
Specifies the alignment that is to be applied to the paragraph. Possible values for this include left, right, centered, justified and distributed. If this attribute is omitted, then a value of left is implied.
[Example: Consider the case where the user wishes to have two columns of text that have a justified alignment, much like text within a book. The following DrawingML could describe this.
<p:txBody> <a:p> …
end example]
The possible values for this attribute are defined by the ST_TextAlignType simple type (§5.1.12.59). |
defTabSz (Default Tab Size) |
Specifies the default size for a tab character within this paragraph. This attribute should be used to describe the spacing of tabs within the paragraph instead of a leading indentation tab. For indentation tabs there are the marL and indent attributes to assist with this.
[Example: Consider the case where a paragraph contains numerous tabs that need to be of a specific size. The following DrawingML would describe this.
<p:txBody>
end example]
The possible values for this attribute are defined by the ST_Coordinate32 simple type (§5.1.12.17). |
eaLnBrk (East Asian Line Break) |
Specifies whether an East Asian word can be broken in half and wrapped onto the next line without a hyphen being added. To determine whether an East Asian word can be broken the presentation application would use the kinsoku settings here. This attribute is to be used specifically when there is a word that cannot be broken into multiple pieces without a hyphen. That is it will not be present within the existence of normal breakable East Asian words but will when a special case word arises that should not be broken for a line break. If this attribute is omitted, then a value of 1, or true is implied.
[Example: Consider the case where the presentation contains a long word that must not be divided with a line break. Instead it should be placed, in whole on a new line so that it may fit. The picture below shows a normal paragraph where a long word has been broken for a line break. The second picture shown below shows that same paragraph with the long word specified to not allow a line break. The resulting DrawingML is as follows.
<p:txBody>
end example]
The possible values for this attribute are defined by the XML Schema boolean datatype. |
fontAlgn (Font Alignment) |
Determines where vertically on a line of text the actual words are positioned. This deals with vertical placement of the characters with respect to the baselines. For instance having text anchored to the top baseline, anchored to the bottom baseline, centered in between, etc. To understand this attribute and it's use it is helpful to understand what baselines are. A diagram describing these different cases is shown below. If this attribute is omitted, then a value of base is implied.
[Example: Consider the case where the user wishes to represent the chemical compound of a water molecule. For this they will need to make sure the H, the 2, and the O are all in the correct position and are of the correct size. The results below can be achieved through the DrawingML shown below.
<a:txtBody> <a:r> <a:r> <a:r>
end example]
The possible values for this attribute are defined by the ST_TextFontAlignType simple type (§5.1.12.66). |
hangingPunct (Hanging Punctuation) |
Specifies whether punctuation is to be forcefully laid out on a line of text or put on a different line of text. That is, if there is punctuation at the end of a run of text that should be carried over to a separate line does it actually get carried over. A true value will allow for hanging punctuation forcing the punctuation to not be carried over and a value of false will allow the punctuation to be carried onto the next text line. If this attribute is omitted, then a value of 0, or false is implied.
The possible values for this attribute are defined by the XML Schema boolean datatype. |
indent (Indent) |
Specifies the indent size that will be applied to the first line of text in the paragraph. An indentation of 0 will be considered to be at the same location as marL attribute. If this attribute is omitted, then a value of -342900 is implied.
[Example: Consider the scenario where the user now wanted to add a paragraph indentation to the first line of text in their two column format book.
<p:txBody> <a:p> <a:pPr marL="0" indent="571500" algn="just">
By adding the indent attribute the user has effectively added a first line indent to this paragraph of text. end example]
The possible values for this attribute are defined by the ST_TextIndent simple type (§5.1.12.70). |
latinLnBrk (Latin Line Break) |
Specifies whether a Latin word can be broken in half and wrapped onto the next line without a hyphen being added. This attribute is to be used specifically when there is a word that cannot be broken into multiple pieces without a hyphen. That is it will not be present within the existence of normal breakable Latin words but will when a special case word arises that should not be broken for a line break. If this attribute is omitted, then a value of 1, or true is implied.
[Example: Consider the case where the presentation contains a long word that must not be divided with a line break. Instead it should be placed, in whole on a new line so that it may fit. The picture below shows a normal paragraph where a long word has been broken for a line break. The second picture shown below shows that same paragraph with the long word specified to not allow a line break. The resulting DrawingML is as follows.
<p:txBody>
end example]
The possible values for this attribute are defined by the XML Schema boolean datatype. |
lvl (Level) |
Specifies the particular level text properties that this paragraph will follow. The value for this attribute is numerical and formats the text according to the corresponding level paragraph properties that are listed within the lstStyle element. Since there are nine separate level properties defined, this tag will have an effective range of 0-8 = 9 available values.
[Example: Consider the following DrawingML. This would specify that this paragraph should follow the lvl2pPr formatting style because once again lvl="1" is considered to be level 2.
<p:txBody>
end example]
[Note: To resolve conflicting paragraph properties the linear hierarchy of paragraph properties should be examined starting first with the pPr element. The rule here is that properties that are defined at a level closer to the actual text should take precedence. That is if there is a conflicting property between the pPr and lvl1pPr elements then the pPr property should take precedence because in the property hierarchy it is closer to the actual text being represented. end note]
The possible values for this attribute are defined by the ST_TextIndentLevelType simple type (§5.1.12.71). |
marL (Left Margin) |
Specifies the left margin of the paragraph. This is specified in addition to the text body inset and applies only to this text paragraph. That is the text body inset and the marL attributes are additive with respect to the text position. If this attribute is omitted, then a value of 347663 is implied.
The possible values for this attribute are defined by the ST_TextMargin simple type (§5.1.12.73). |
marR (Right Margin) |
Specifies the right margin of the paragraph. This is specified in addition to the text body inset and applies only to this text paragraph. That is the text body inset and the marR attributes are additive with respect to the text position. If this attribute is omitted, then a value of 0 is implied.
The possible values for this attribute are defined by the ST_TextMargin simple type (§5.1.12.73). |
rtl (Right To Left) |
Specifies whether the text is right-to-left or left-to-right in its flow direction. If this attribute is omitted, then a value of 0, or left-to-right is implied.
[Example: Consider the scenario where the user wanted text to flow from right to left. That is within the bounding text box the first word would be right aligned with each additional word being written to the left of the previous while continuing to flow top to bottom. The DrawingML to describe this might be as follows.
<p:txBody>
end example]
The possible values for this attribute are defined by the XML Schema boolean datatype. |
The following XML Schema fragment defines the contents of this element:
<complexType name="CT_TextParagraphProperties">
<sequence>
<element name="lnSpc" type="CT_TextSpacing" minOccurs="0" maxOccurs="1"/>
<element name="spcBef" type="CT_TextSpacing" minOccurs="0" maxOccurs="1"/>
<element name="spcAft" type="CT_TextSpacing" minOccurs="0" maxOccurs="1"/>
<group ref="EG_TextBulletColor" minOccurs="0" maxOccurs="1"/>
<group ref="EG_TextBulletSize" minOccurs="0" maxOccurs="1"/>
<group ref="EG_TextBulletTypeface" minOccurs="0" maxOccurs="1"/>
<group ref="EG_TextBullet" minOccurs="0" maxOccurs="1"/>
<element name="tabLst" type="CT_TextTabStopList" minOccurs="0" maxOccurs="1"/>
<element name="defRPr" type="CT_TextCharacterProperties" minOccurs="0" maxOccurs="1"/>
<element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</sequence>
<attribute name="marL" type="ST_TextMargin" use="optional"/>
<attribute name="marR" type="ST_TextMargin" use="optional"/>
<attribute name="lvl" type="ST_TextIndentLevelType" use="optional"/>
<attribute name="indent" type="ST_TextIndent" use="optional"/>
<attribute name="algn" type="ST_TextAlignType" use="optional"/>
<attribute name="defTabSz" type="ST_Coordinate32" use="optional"/>
<attribute name="rtl" type="xsd:boolean" use="optional"/>
<attribute name="eaLnBrk" type="xsd:boolean" use="optional"/>
<attribute name="fontAlgn" type="ST_TextFontAlignType" use="optional"/>
<attribute name="latinLnBrk" type="xsd:boolean" use="optional"/>
<attribute name="hangingPunct" type="xsd:boolean" use="optional"/>
</complexType>
This element specifies the amount of vertical white space that will be present after a paragraph. This space is specified in either percentage or points via the child elements spcPct and spcPts.
[Example: Consider the DrawingML shown below.
<p:txBody>
…
<a:p>
<a:pPr …>
<a:spcBef>
<a:spcPts val="1800"/>
</a:spcBef>
<a:spcAft>
<a:spcPts val="600"/>
</a:spcAft>
</a:pPr>
…
<a:t>Sample Text</a:t>
…
</a:p>
…
</p:txBody>
The above paragraph of text will be formatted to have a spacing both before and after the paragraph text. The spacing before will be a size of 18 points, or value=1800 and the spacing after will be a size of 6 points, or value=600. end example]
Parent Elements |
defPPr (§5.1.5.2.2); lvl1pPr (§5.1.5.4.13); lvl2pPr (§5.1.5.4.14); lvl3pPr (§5.1.5.4.15); lvl4pPr (§5.1.5.4.16); lvl5pPr (§5.1.5.4.17); lvl6pPr (§5.1.5.4.18); lvl7pPr (§5.1.5.4.19); lvl8pPr (§5.1.5.4.20); lvl9pPr (§5.1.5.4.21); pPr (§5.1.5.2.7) |
Child Elements |
Subclause |
spcPct (Spacing Percent) |
§5.1.5.2.10 |
spcPts (Spacing Points) |
§5.1.5.2.11 |
The following XML Schema fragment defines the contents of this element:
<complexType name="CT_TextSpacing">
<choice>
<element name="spcPct" type="CT_TextSpacingPercent"/>
<element name="spcPts" type="CT_TextSpacingPoint"/>
</choice>
</complexType>
This element specifies the amount of vertical white space that will be present before a paragraph. This space is specified in either percentage or points via the child elements spcPct and spcPts.
[Example: Consider the DrawingML shown below.
<p:txBody>
…
<a:p>
<a:pPr …>
<a:spcBef>
<a:spcPts val="1800"/>
</a:spcBef>
<a:spcAft>
<a:spcPts val="600"/>
</a:spcAft>
</a:pPr>
…
<a:t>Sample Text</a:t>
…
</a:p>
…
</p:txBody>
The above paragraph of text will be formatted to have a spacing both before and after the paragraph text. The spacing before will be a size of 18 points, or value=1800 and the spacing after will be a size of 6 points, or value=600. end example]
Parent Elements |
defPPr (§5.1.5.2.2); lvl1pPr (§5.1.5.4.13); lvl2pPr (§5.1.5.4.14); lvl3pPr (§5.1.5.4.15); lvl4pPr (§5.1.5.4.16); lvl5pPr (§5.1.5.4.17); lvl6pPr (§5.1.5.4.18); lvl7pPr (§5.1.5.4.19); lvl8pPr (§5.1.5.4.20); lvl9pPr (§5.1.5.4.21); pPr (§5.1.5.2.7) |
Child Elements |
Subclause |
spcPct (Spacing Percent) |
§5.1.5.2.10 |
spcPts (Spacing Points) |
§5.1.5.2.11 |
The following XML Schema fragment defines the contents of this element:
<complexType name="CT_TextSpacing">
<choice>
<element name="spcPct" type="CT_TextSpacingPercent"/>
<element name="spcPts" type="CT_TextSpacingPoint"/>
</choice>
</complexType>
This element specifies the amount of white space that is to be used between lines and paragraphs in the form of a percentage of the text size. The text size that is used to calculate the spacing here is the text for each run, with the largest text size having precedence. That is if there is a run of text with 10 point font and within the same paragraph on the same line there is a run of text with a 12 point font size then the 12 point should be used to calculate the spacing to be used.
[Example: Consider the DrawingML shown below.
<p:txBody>
…
<a:p>
<a:pPr …>
<a:spcBef>
<a:spcPct val="200000"/>
</a:spcBef>
</a:pPr>
…
<a:t>Sample Text</a:t>
…
</a:p>
…
</p:txBody>
The above paragraph of text will be formatted to have a spacing before the paragraph text. This spacing will be 200% of the size of the largest text on each line. end example]
Parent Elements |
lnSpc (§5.1.5.2.5); spcAft (§5.1.5.2.8); spcBef (§5.1.5.2.9) |
Attributes |
Description |
val (Value) |
Specifies the percentage of the size that the white space should be. It is specified here in terms of 100% being equal to 100000 and 1% being specified in increments of 1000.
The possible values for this attribute are defined by the ST_TextSpacingPercent simple type (§5.1.12.77). |
The following XML Schema fragment defines the contents of this element:
<complexType name="CT_TextSpacingPercent">
<attribute name="val" type="ST_TextSpacingPercent" use="required"/>
</complexType>
This element specifies the amount of white space that is to be used between lines and paragraphs in the form of a text point size. The size is specified using points where 100 is equal to 1 point font and 1200 is equal to 12 point.
[Example: Consider the DrawingML shown below.
<p:txBody>
…
<a:p>
<a:pPr …>
<a:spcBef>
<a:spcPts val="1400"/>
</a:spcBef>
</a:pPr>
…
<a:t>Sample Text</a:t>
…
</a:p>
…
</p:txBody>
The above paragraph of text will be formatted to have a spacing before the paragraph text. This spacing will be a size of 14 points due to val="1400". end example]
Parent Elements |
lnSpc (§5.1.5.2.5); spcAft (§5.1.5.2.8); spcBef (§5.1.5.2.9) |
Attributes |
Description |
val (Value) |
Specifies the size of the white space in point size. Whole points are specified in increments of 100 starting with 100 being a point size of 1. For instance a font point size of 12 would be 1200 and a font point size of 12.5 would be 1250.
The possible values for this attribute are defined by the ST_TextSpacingPoint simple type (§5.1.12.78). |
The following XML Schema fragment defines the contents of this element:
<complexType name="CT_TextSpacingPoint">
<attribute name="val" type="ST_TextSpacingPoint" use="required"/>
</complexType>
This element specifies a single tab stop to be used on a line of text when there are one or more tab characters present within the text. When there is more than one present than they should be utilized in increasing position order which is specified via the pos attribute.
[Example: Consider the DrawingML shown below.
<p:txBody>
…
<a:p>
<a:pPr …>
<a:tabLst>
<a:tab pos="2292350" algn="l"/>
<a:tab pos="2627313" algn="l"/>
<a:tab pos="2743200" algn="l"/>
<a:tab pos="2974975" algn="l"/>
</a:tabLst>
</a:pPr>
…
<a:t>Sample Text</a:t>
…
</a:p>
…
</p:txBody>
The paragraph within which this <a:tab> information resides will have a total of 4 unique tab stops that should be listed in order of increasing position. Along with specifying the tab position each tab allows for the specifying of an alignment. end example]
Parent Elements |
tabLst (§5.1.5.2.13) |
Attributes |
Description |
algn (Tab Alignment) |
Specifies the alignment that is to be applied to text using this tab stop. If this attribute is omitted then the application default for the generating application.
The possible values for this attribute are defined by the ST_TextTabAlignType simple type (§5.1.12.80). |
pos (Tab Position) |
Specifies the position of the tab stop relative to the left margin. If this attribute is omitted then the application default for tab stops will be used.
The possible values for this attribute are defined by the ST_Coordinate32 simple type (§5.1.12.17). |
The following XML Schema fragment defines the contents of this element:
<complexType name="CT_TextTabStop">
<attribute name="pos" type="ST_Coordinate32" use="optional"/>
<attribute name="algn" type="ST_TextTabAlignType" use="optional"/>
</complexType>
This element specifies the list of all tab stops that are to be used within a paragraph. These tabs should be used when describing any custom tab stops within the document. If these are not specified then the default tab stops of the generating application should be used.
Parent Elements |
defPPr (§5.1.5.2.2); lvl1pPr (§5.1.5.4.13); lvl2pPr (§5.1.5.4.14); lvl3pPr (§5.1.5.4.15); lvl4pPr (§5.1.5.4.16); lvl5pPr (§5.1.5.4.17); lvl6pPr (§5.1.5.4.18); lvl7pPr (§5.1.5.4.19); lvl8pPr (§5.1.5.4.20); lvl9pPr (§5.1.5.4.21); pPr (§5.1.5.2.7) |
Child Elements |
Subclause |
tab (Tab Stop) |
§5.1.5.2.12 |
The following XML Schema fragment defines the contents of this element:
<complexType name="CT_TextTabStopList">
<sequence>
<element name="tab" type="CT_TextTabStop" minOccurs="0" maxOccurs="32"/>
</sequence>
</complexType>